home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Sessions / Completions / Completions Source / Procedures / Procedure.h < prev   
Encoding:
Text File  |  1998-06-17  |  810 b   |  56 lines  |  [TEXT/CWIE]

  1. // Procedure.h
  2.  
  3. #ifndef Procedure_h
  4. #define Procedure_h
  5.  
  6. class Procedure
  7.   {
  8.     protected:
  9.         ~Procedure()                    {}
  10.     
  11.     public:
  12.         virtual void operator()() const = 0;
  13.   };
  14.  
  15. template < class P0 >
  16. class Procedure1
  17.   {
  18.     protected:
  19.         ~Procedure1()                    {}
  20.     
  21.     public:
  22.         virtual void operator()( P0 ) const = 0;
  23.   };
  24.  
  25. template < class P0, class P1 >
  26. class Procedure2
  27.   {
  28.     protected:
  29.         ~Procedure2()                    {}
  30.     
  31.     public:
  32.         virtual void operator()( P0, P1 ) const = 0;
  33.   };
  34.  
  35. template < class P0, class P1, class P2 >
  36. class Procedure3
  37.   {
  38.     protected:
  39.         ~Procedure3()                    {}
  40.     
  41.     public:
  42.         virtual void operator()( P0, P1, P2 ) const = 0;
  43.   };
  44.  
  45. template < class P0, class P1, class P2, class P3 >
  46. class Procedure4
  47.   {
  48.     protected:
  49.         ~Procedure4()                    {}
  50.     
  51.     public:
  52.         virtual void operator()( P0, P1, P2, P3 ) const = 0;
  53.   };
  54.  
  55. #endif
  56.